package com.qinggeng.project.system.domain;

import com.qinggeng.project.api.dto.DistributionPointDto;
import com.qinggeng.project.system.domain.vo.DistributionPointImgVO;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qinggeng.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import com.qinggeng.framework.web.domain.BaseEntity;

/**
 * 订单配送点对象 orders_point
 * 
 * @author qinggeng
 * @date 2020-06-17
 */
@Data
public class OrdersPoint extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自提ID */
    private Long ordersPointId;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long ordersId;

    /** 配送点ID */
    @Excel(name = "配送点ID")
    private Long pointId;

    /** 果果专员ID */
    @Excel(name ="果果专员ID")
    private Long courierId;


    /** 配送点名称 */
    @Excel(name = "配送点名称")
    private String pointName;

    /** 配送点电话*/
    @Excel(name="配送点电话")
    private String pointPhone;

    /** 省名称 */
    @Excel(name = "省名称")
    private String province;

    /** 城市名称 */
    @Excel(name = "城市名称")
    private String city;

    /** 区域名称 */
    @Excel(name = "区域名称")
    private String area;

    @Excel(name = "分拣区域")
    private String sortArea;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 地点经度 */
    @Excel(name = "地点经度")
    private Float lng;

    /** 地点纬度 */
    @Excel(name = "地点纬度")
    private Float lat;

    /** 上班时间 */
    @Excel(name = "上班时间")
    private String businessTime;

    /** 下班时间 */
    @Excel(name = "下班时间")
    private String closingTime;

    /** 配送点编号 */
    @Excel(name = "配送点编号")
    private String sortAreaNum;


    private DistributionPointImgVO distributionPointImgVO;

    public Long getOrdersPointId() {
        return ordersPointId;
    }

    public void setOrdersPointId(Long ordersPointId) {
        this.ordersPointId = ordersPointId;
    }

    public Long getCourierId() {
        return courierId;
    }

    public void setCourierId(Long courierId) {
        this.courierId = courierId;
    }

    public Long getOrdersId() {
        return ordersId;
    }

    public void setOrdersId(Long ordersId) {
        this.ordersId = ordersId;
    }

    public Long getPointId() {
        return pointId;
    }

    public void setPointId(Long pointId) {
        this.pointId = pointId;
    }

    public String getPointName() {
        return pointName;
    }

    public void setPointName(String pointName) {
        this.pointName = pointName;
    }

    public String getPointPhone() {
        return pointPhone;
    }

    public void setPointPhone(String pointPhone) {
        this.pointPhone = pointPhone;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Float getLng() {
        return lng;
    }

    public void setLng(Float lng) {
        this.lng = lng;
    }

    public Float getLat() {
        return lat;
    }

    public void setLat(Float lat) {
        this.lat = lat;
    }

    public String getBusinessTime() {
        return businessTime;
    }

    public void setBusinessTime(String businessTime) {
        this.businessTime = businessTime;
    }

    public String getClosingTime() {
        return closingTime;
    }

    public void setClosingTime(String closingTime) {
        this.closingTime = closingTime;
    }



    public OrdersPoint(){}
    public OrdersPoint(DistributionPoint distributionPoint) {
        this.pointName = distributionPoint.getPointName();
        this.province = distributionPoint.getProvince();
        this.city = distributionPoint.getCity();
        this.area = distributionPoint.getArea();
        this.address = distributionPoint.getAddress();
        this.lng = distributionPoint.getLng();
        this.lat = distributionPoint.getLat();
        this.businessTime = distributionPoint.getBusinessTime();
        this.closingTime = distributionPoint.getClosingTime();
        this.pointId = distributionPoint.getId();
        this.courierId=distributionPoint.getCourierId();
        this.pointPhone=distributionPoint.getPointPhone();
        this.sortArea = distributionPoint.getSortArea();
        this.sortAreaNum = distributionPoint.getSortAreaNum();
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ordersPointId", getOrdersPointId())
            .append("ordersId", getOrdersId())
            .append("pointName", getPointName())
            .append("courierId",getCourierId())
            .append("province", getProvince())
            .append("city", getCity())
            .append("area", getArea())
            .append("address", getAddress())
            .append("lng", getLng())
            .append("lat", getLat())
            .append("businessTime", getBusinessTime())
            .append("closingTime", getClosingTime())
            .toString();
    }
}
